Gentlemen,
I have finally gotten all 6 axes to coordinate
their motion in harmony! Very excited!
Tom, I am still unable to set ch6 as a slave
to ch0, however, I have remedied it for now by simply
adding ch6 to the CM system definition and assigning the
move-to position of ch6 the same as ch0. That seems to
give me the desired motion I needed.
So for now, I have point tracking, collision
avoidance and the super cool-factor of all the motion
happening in synch! Annnnnnnd now my new hurdle, you knew
it was coming.
Before CM, I had individual axis control for
jogging. Based on user/operator input via a touch screen
UI, I would execute a simple MoveAtVel() for the desired
axis at a slow vel and send the axis to it’s extreme limit
(assures that I’d get a smooth stop at the limit vs Jog()
cmd). If at any point along the path the jog button was
depressed, then I send a stop command to that axis. Simple
and worked great.
Now I want to implement the same feature with
the new CM system. I think the same logic will work.
Send the camera to the extreme point of the desired axis
and stop anywhere along the way. I have implemented this
and it does work, buuuuuuut it does NOT stop.
I have attempted the following commands while
waiting for the coordinated motion buffer to be executed:
while(CheckDoneBuf() != 1)
{
if(*jogVelocity == 0) //condition for
button depressed
{
CS0_StoppingState = 0;
StopCoordinatedMotion();
break;
}
}
This does not stop it. In fact, it attempts to
stop then resumes after a short hiccup. I have also tried
the following:
while(CheckDoneBuf() != 1)
{
if(*jogVelocity == 0)
{
CS0_StoppingState = 0;
StopCoordinatedMotion();
ClearStopImmediately();
break;
}
}
This is a very violent stop and I cannot get
it to resume any other motion after that.
Is there an easier way to implement a similar
task like the Feed Hold button in Kmotion but clear the
current buffer so that when it resumes I get to jog in a
different axes without continuing the old path? Hope that
makes sense.
Or perhaps something like this:
while(CheckDoneBuf() != 1)
{
if(*jogVelocity == 0)
{
CS0_StoppingState = 0;
StopCoordinatedMotion();
while(CheckDoneBuf()
!= 1) <------ I don't know what condition to wait
for to insure motion has stopped
{
//wait for CM to stop
}
ClearStopImmediately();
break;
}
}
Thanks in advance guys!